package com.lolaage.tracks;

import android.location.Location;

/*********************************************************
 * @author : zhaohua
 * @version : 2012-9-19
 * @see : 位置提供者接口
 * @Copyright : copyrights reserved by personal 2007-2012
 **********************************************************/
public interface MyLocationPrivider
{
    /** 自动模式：先GPS, NETWORK，WIFI，基站等那个先定位就用哪个的*/
    public static final int L_AUTO = 0;
    /** GPS优先，如果超时则 NETWORK，WIFI，基站定位*/
    public static final int L_GPS_FIRST = 1;
    /** 只用GPS定位*/
    public static final int L_GPS_ONLY = 2;
    /** 只用NETWORK， WIFI， 基站 定位*/
    public static final int L_NETWORK_ONLY = 3;
    
    /** 添加位置监听器*/
    public void addLocationListener(OnLocationListener listener);
    /** 去除位置监听器*/
    public void rmvLocationListener(OnLocationListener listener);
    /** 启动长期定位*/
    public void startKeepLocation(int intalTime);
    /** 停止长期定位*/
    public void stopKeepLocation();
    /** 设置定位参数*/
    public void setLocationOption(int minTime, int minDist);
    /** 设置定位模式*/
    public void setPrivity(int locMode);
    /** 设置定位监听策略*/
    public void setLocationPolicy(MyLocationPolicy policy);
    /** 设置位置合法裁决者*/
    public void setLocationValider(MyLocationValider valider);
    /** 启动即使定位*/
    public void startLocation(boolean update,int timeout);
    /** 是否正在定位中*/
    public boolean isLocating();
    /** 退出销毁工作*/
    public void destory();
    /** 定位监听器*/
    public static interface OnLocationListener
    {
        /** 返回真实的WGS84:GPS坐标*/
        public void onLocationChanged(Location location);
        /** 定位不到*/
        public void onLocationError();
    }
}
